<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>拦截器</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.27.2/axios.min.js"></script>

</head>

<body>
    <script>
        // 拦截器->  请求拦截器，响应拦截器
        // 添加一个请求拦截器
        axios.interceptors.request.use(config => {
            //发送请求前想做的事
            console.log('请求拦截器的回调')
            config.request.headers = { name: 'aaa' }  //给所有请求添加请求头
            return config
        })

        //添加一个响应拦截器
        axios.interceptors.response.use(
            response => {
                //响应成功想做的事
                console.log('响应拦截器成功的回调')
                return response
            },
            error => {
                console.log('响应拦截器失败的回调')
                return Promise.reject(error)
            }
        )

        //发送请求
        axios({
            url: 'http://xiaoheigh.com/lol',
            method: 'get',
            timeout: 2 * 1000
        }).then(
            response =>{
                console.log('请求成功的回调')
            },
            error =>{
                console.log('请求失败的回调')
            }
        )


        // // axios的执行流程
        // 1.请求拦截器的回调
        // 2.异步发送ajax请求
        // 3.响应拦截器成功/失败的回调
        // 4.处理请求成功/失败的回调


    </script>
</body>

</html>